﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using L = Science.Mathematics.LinearAlgebra;

namespace Strang3Ed.Chapter04.Section1
{
    public class Example03
    {
        public Example03()
        {
        }
        private string result;
        public string Result
        {
            get { return result; }
        }
        public void Compute()
        {
            double[,] x = { { 1.0, 3.0, 4.0 } ,
                            { 5.0, 2.0, 7.0 }};

            L.Matrix A = new L.Matrix(x);

            L.ColumnSpace C = new L.ColumnSpace(A);
            foreach (L.Vector v in C.Basis)
                result += v.ToString() + "\r\n";
            result += C.Dimension.ToString() + "\r\n" + "\r\n";

            L.LeftNullspace LN = new L.LeftNullspace(A);
            foreach (L.Vector v in LN.Basis)
                result += v.ToString() + "\r\n";
            result += LN.Dimension.ToString() + "\r\n" + "\r\n";

            L.RowSpace R = new L.RowSpace(A);
            foreach (L.Vector v in R.Basis)
                result += v.ToString() + "\r\n";
            result += R.Dimension.ToString() + "\r\n" + "\r\n";

            L.Nullspace N = new L.Nullspace(A);
            foreach (L.Vector v in N.Basis)
                result += v.ToString() + "\r\n";
            result += N.Dimension.ToString() + "\r\n";
        }
    }
}
/*
1
5

3
2

2

0
0

0

1
3
4

5
2
7

2

-1
-1
1

1
*/

